require "nvchad.mappings"

-- add yours here

local map = vim.keymap.set

map("n", ";", ":", { desc = "CMD enter command mode" })
map("i", "jk", "<ESC>")

-- insert model
map("i", "<C-h>", "<Left>", { desc = "Move Left" })
map("i", "<C-l>", "<Right>", { desc = "Move Right" })
map("i", "<C-j>", "<Down>", { desc = "Move Down" })
map("i", "<C-k>", "<Up>", { desc = "Move Up" })
map("i", "<C-a>", "<Home>", { desc = "Move Home" })
map("i", "<C-e>", "<End>", { desc = "Move End" })

-- insert model
map("n", "<leader>s", "<cmd>w<cr>")
map("n", "U", "<C-u>")
map("n", "D", "<C-d>")
map("n", "Y", "y$")
map("n", "L", "$")
map("n", "H", "^")
map("n", "j", "gj")
map("n", "k", "gk")
map("n", "ca", function()
  vim.lsp.buf.code_action()
end, { desc = "show code action" })

map("n", "==", function()
  vim.lsp.buf.format()
end, { desc = "code format" })


map("n", "K", function()
  vim.lsp.buf.hover()
end, { desc = "hover" })

map("n", "<leader>rn", function()
    vim.lsp.buf.rename()
end, { desc = "rename" })

-- map({ "n", "i", "v" }, "<C-s>", "<cmd> w <cr>")
